#pragma once
#include <string>
#include <vector>
namespace Level5
{
	class Function;
	class Variable;
	class Class
	{
	public:
		uint64_t aligned;
		std::u32string name;
		std::vector<Function*> method;
		std::vector<Variable*> variables;
		std::vector<Class*> bases;
		struct Attr
		{
			uint64_t isFinal : 1;
			uint64_t isAbstract : 1;
		}attr;
		uint64_t OutPut(uint8_t* outAddress);
	};
}